package learn.algorithm.train;

import java.util.Arrays;

/**
 * 1. 如何打印一个整型数的二进制?
 * 2. 位运算
 * 3. 有符号整型和无符号整型的区别，表示数的范围不同
 * 4. 在有符号整型中，为什么最大负数的绝对值，比最大正数的绝对值要大？ 0包含在了非负数区
 * 5. 负数在计算机中是怎么表示的？对应的正数，反码+1
 * 6. 位运算
 */
public class Code2021122901_int2Bit {
    public static void main(String[] args) {
        int2Bit(5);
        System.out.println("Integer.MIN_VALUE = " + Integer.MIN_VALUE);
        int2Bit(Integer.MAX_VALUE);
        System.out.println("Integer.MAX_VALUE = " + Integer.MAX_VALUE);
    }

    public static void int2Bit(int num) {
        for (int i = 31; i >= 0; i--) {
            System.out.print((num & (1 << i)) == 0 ? "0" : "1");
        }
        System.out.println();
    }
}
